home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Examples / qlipo / cpu.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-17  |  3.6 KB  |  153 lines

  1. //        Written by Darcy Brockbank.
  2. //        Copyright (c) 1995 by Darcy Brockbank.  All rights reserved.
  3. //
  4. //        This notice may not be removed from this source code.
  5. //
  6. //    This object is included in the MiscKit by permission from the author
  7. //    and its use is governed by the MiscKit license, found in the file
  8. //    "LICENSE.rtf" in the MiscKit distribution.  Please refer to that file
  9. //    for a list of all applicable permissions and restrictions.
  10. //    
  11.  
  12. #ifndef QLIPO_H__
  13. #define QLIPO_H__
  14.  
  15. #define cpu_type_t int
  16.  
  17. extern const char *
  18. get_cputype(int type);
  19.  
  20. extern const char *
  21. get_cpusubtype(int cputype, int t);
  22.  
  23. extern int 
  24. cpu_type(const char *string);
  25.  
  26. extern const char * 
  27. arch_from_type(int type);
  28.  
  29. static const char *cpus[] =
  30. {
  31. #define CPU_TYPE_ANY          -1
  32.     "any",
  33. #define CPU_TYPE_UNKNOWN 0
  34.     "unknown",
  35. #define CPU_TYPE_VAX            1
  36.     "vax",
  37. #define CPU_TYPE_ROMP           2
  38.     "romp",
  39.     "unknown",
  40. #define CPU_TYPE_NS32032        4
  41.     "ns32032",
  42. #define CPU_TYPE_NS32332        5
  43.     "ns32332",
  44. #define CPU_TYPE_MC680x0        6
  45.     "m68k",
  46. #define CPU_TYPE_I386           7
  47.     "i386",
  48. #define CPU_TYPE_MIPS           8
  49.     "mips",
  50. #define CPU_TYPE_NS32532        9
  51.     "ns32532",
  52.     "unknown",
  53. #define CPU_TYPE_HPPA           11
  54.     "hppa",
  55. #define CPU_TYPE_ARM            12
  56.     "arm",     
  57. #define CPU_TYPE_MC88000        13
  58.     "m88k",
  59. #define CPU_TYPE_SPARC          14
  60.     "sparc",
  61. #define CPU_TYPE_I860           15
  62.     "i860",
  63. #define CPU_TYPE_I860_LITTLE    16
  64.     "i860little",
  65. #define CPU_TYPE_RS6000         17
  66.     "rs6000",
  67. #define CPU_TYPE_MC98000        18
  68.     "m98k",
  69. #define CPU_TYPE_MAX        19   
  70.     0
  71. };
  72.  
  73. #define    CPU_SUBTYPE_MULTIPLE        -1
  74. #define CPU_SUBTYPE_LITTLE_ENDIAN    0
  75. #define CPU_SUBTYPE_BIG_ENDIAN        1
  76.  
  77. #define    CPU_SUBTYPE_VAX_ALL    0
  78. #define CPU_SUBTYPE_VAX780    1
  79. #define CPU_SUBTYPE_VAX785    2
  80. #define CPU_SUBTYPE_VAX750    3
  81. #define CPU_SUBTYPE_VAX730    4
  82. #define CPU_SUBTYPE_UVAXI    5
  83. #define CPU_SUBTYPE_UVAXII    6
  84. #define CPU_SUBTYPE_VAX8200    7
  85. #define CPU_SUBTYPE_VAX8500    8
  86. #define CPU_SUBTYPE_VAX8600    9
  87. #define CPU_SUBTYPE_VAX8650    10
  88. #define CPU_SUBTYPE_VAX8800    11
  89. #define CPU_SUBTYPE_UVAXIII    12
  90.  
  91. #define    CPU_SUBTYPE_RT_ALL    0
  92. #define CPU_SUBTYPE_RT_PC    1
  93. #define CPU_SUBTYPE_RT_APC    2
  94. #define CPU_SUBTYPE_RT_135    3
  95.  
  96. #define    CPU_SUBTYPE_MMAX_ALL        0
  97. #define CPU_SUBTYPE_MMAX_DPC        1
  98. #define CPU_SUBTYPE_SQT            2
  99. #define CPU_SUBTYPE_MMAX_APC_FPU    3
  100. #define CPU_SUBTYPE_MMAX_APC_FPA    4
  101. #define CPU_SUBTYPE_MMAX_XPC        5
  102.  
  103. #define    CPU_SUBTYPE_I386_ALL    3
  104. #define CPU_SUBTYPE_386        3
  105. #define CPU_SUBTYPE_486        4
  106. #define CPU_SUBTYPE_486SX    4 + 128
  107. #define CPU_SUBTYPE_586        5
  108. #define CPU_SUBTYPE_586SX    5 + 128
  109.  
  110. #define    CPU_SUBTYPE_MIPS_ALL    0
  111. #define CPU_SUBTYPE_MIPS_R2300    1
  112. #define CPU_SUBTYPE_MIPS_R2600    2
  113. #define CPU_SUBTYPE_MIPS_R2800    3
  114. #define CPU_SUBTYPE_MIPS_R2000a    4
  115.  
  116. #define    CPU_SUBTYPE_MC680x0_ALL        1
  117. #define CPU_SUBTYPE_MC68030        1
  118. #define CPU_SUBTYPE_MC68040        2
  119. #define    CPU_SUBTYPE_MC68030_ONLY    3
  120.  
  121. #define    CPU_SUBTYPE_HPPA_ALL        0
  122. #define CPU_SUBTYPE_HPPA_7100        0
  123. #define CPU_SUBTYPE_HPPA_7100LC        1
  124.  
  125. #define    CPU_SUBTYPE_ARM_ALL        0
  126. #define CPU_SUBTYPE_ARM_A500_ARCH    1
  127. #define CPU_SUBTYPE_ARM_A500        2
  128. #define CPU_SUBTYPE_ARM_A440        3
  129. #define CPU_SUBTYPE_ARM_M4        4
  130. #define CPU_SUBTYPE_ARM_A680        5
  131.  
  132. #define    CPU_SUBTYPE_MC88000_ALL    0
  133. #define CPU_SUBTYPE_MMAX_JPC    1
  134. #define CPU_SUBTYPE_MC88100    1
  135. #define CPU_SUBTYPE_MC88110    2
  136.  
  137. #define    CPU_SUBTYPE_MC98000_ALL    0
  138. #define CPU_SUBTYPE_MC98601    1
  139.  
  140. #define CPU_SUBTYPE_I860_ALL    0
  141. #define CPU_SUBTYPE_I860_860    1
  142.  
  143. #define    CPU_SUBTYPE_I860_LITTLE_ALL    0
  144. #define    CPU_SUBTYPE_I860_LITTLE    1
  145.  
  146. #define    CPU_SUBTYPE_RS6000_ALL    0
  147. #define CPU_SUBTYPE_RS6000    1
  148.  
  149. #define    CPU_SUBTYPE_SPARC_ALL        0
  150.  
  151.  
  152. #endif
  153.